Multicase key distribution method, updated method, and base station based on unicast conversation key

ABSTRACT

A multicast key distribution method, an update method, and a base station based on unicast conversation key, the distribution method includes the following steps: 1) the base station composes groups of multicast key distribution; 2) the base station broadcasts the groups of multicast key distribution to all terminals; 3) the terminals acquire the multicast conversation key by calculating. The present invention solves the problem that the efficiency of the multicast key distribution based on unicast conversation key is low in the prior art, and provides a multicast key distribution method based on unicast conversation key.

This application is a National Stage of PCT Application No. PCT/CN2009/073368, filed on Aug. 20, 2009, designating the United States and claiming priority to Chinese Patent Application No. 200810150694.1, filed with the State Intellectual Property Office of China on Aug. 21, 2008 and entitled “multicast key distribution method and update method based upon unicast session key”, contents of which are incorporated herein by reference in their entireties.

FIELD OF THE INVENTION

The present invention relates to a group/multicast key distribution method and update method based upon a unicast session key and a base station.

BACKGROUND OF THE INVENTION

The issue of network security has gained popular attention in both the industry and the academic community. The security issue of a wireless network is far more serious as compared to that of a wired Ethernet. The U.S. Institute for Electrical and Electronics Engineers (IEEE) defined a series of 802.11 and 802.16 standards to enhance the security of wireless local area and wireless metropolitan area networks and to provide a Mobile Terminal (MT) with a secure access to a Base Station (BS). The national standard GB15629.11 of wireless local area network, commonly referred to as the WLAN Authentication and Privacy Infrastructure (WAPI) protocol, was published in China in May, 2003. Both data communication and broadcast communication are incorporated into a Broadband Wireless Multimedia (BWM) network which is a new wireless network architecture for which the issues of secure access and secrete communication shall also be addressed.

For whatever wireless network, two communication modes are typically involved: point-to-point unicast communication and point-to-multipoint group/multicast communication (or referred to as broadcast in a group). Guaranteed authenticity of entities of both communication parties and secrecy of communication contents are required for unicast communication, and also guaranteed legality of group/multicast entities and secrecy of group/multicast messages are required for secure group/multicast communication. Furthermore, a group/multicast receiving terminal is limited to a specific privilege to ensure that only an authorized terminal can read the group/multicast message properly, which requires that firstly the issue of distributing a group/multicast key securely shall be addressed effectively. How to manage the group/multicast key effectively is one of crucial issues to implement secure group/multicast communication.

In the standard of IEEE802.11, security of a Wireless Local Area Network (WLAN) is achieved in a Wired Equivalent Privacy (WEP) protocol with simple management of a key, where a shared key is set manually between a mobile terminal and an access point. In this phase, the IEEE802.11 neither relates to the issue of managing a group/multicast key nor provides a solution for group/multicast security.

Due to serious security defects in the WEP encryption protocol, the IEEE proposed the standard of IEEE802.11i to address the security issue of the WEP. Also the national standard GB15629.11 of the wireless local area network, i.e., WAPI, was proposed in China to overcome some drawbacks of the WEP. The IEEE802.11i and the WAPI are very similar in terms of group/multicast key management despite their different authentication mechanism: a Group/multicast Session Key (GSK) is encrypted with a predefined Unicast Session Key (USK) and distributed. That is, a base station selects a group/multicast session key and encrypts the group/multicast session key with unicast session keys shared with terminals respectively and transmits the encrypted GSKs to the corresponding terminals. Each of the terminals may decrypt the encrypted group/multicast session key with the unicast session key shared with the base station upon reception of a message of the encrypted group/multicast session key to obtain the GSK. The base station may perform secure group/multicast communication after all of the terminals receive the same group/multicast session key. The foregoing process has to be repeated if the group/multicast session key is updated.

A drawback of the above method is inefficiency, and particularly when the group/multicast session key is updated, the base station has to repeat the foregoing process of distributing the group/multicast session key: the base station selects a group/multicast session key, encrypts the GSK with unicast session keys shared with the terminals respectively and transmits the encrypted GSKs to the corresponding terminals.

In the standard of wireless metropolitan area network proposed by the U.S. IEEE, i.e., the standard of IEEE802.16, group/multicast key management learns the IEEE802.11i. However, a new design idea on the issue of secure group/multicast key management was proposed in the standard of IEEE802.16e proposed by the IEEE by introducing a Group/multicast Key Encryption Key (GKEK) to set up a management method with two levels of the Group/multicast Key Encryption Key (GKEK) and the Group/multicast Session Key (GSK). The idea of the method lies in that firstly a base station encrypts the GKEK with unicast session keys setup with terminals respectively and transmits the encrypted GKEKs to the corresponding terminals; the terminals decrypt the encrypted GKEKs with the unicast session keys upon reception of messages; then the base station encrypts the GSK with the GKEK and broadcasts the encrypted GSK to all of the terminals; and the terminals with the GKEK may obtain the same GSK. Thus, a group/multicast session key process has been performed. The same process is performed to update the group/multicast session key, that is, the base station encrypts a GSK with the GKEK being a key and broadcasts the encrypted GSK to all of the terminals.

The group/multicast key management method of the IEEE802.16e also suffers from the following drawbacks: temporal synchronization is used and management of status is complicated; a new key is enabled and disabled dependent upon temporal judgment and it is complex to maintain a synchronous clock in a distributed system.

In view of the above situation, a similar group/multicast session key management method was proposed in China in the fields of wireless metropolitan area network and broadband wireless multimedia.

However this method suffers the following drawbacks.

1. Despite the use of the management method with two levels of a GKEK and a GSK, the GKEK and the GSK are the same for all of the terminals, thus lacking the advantages and characteristics of hierarchical key management.

2. The GKEK is the same for all of the terminals, therefore, it is more likely for any of the terminals to reveal the GKEK to another terminal, thus resulting in low security.

3. No method for updating a GKEK is suggested. Since the GKEK as a basic key is the same for all of the terminals and security thereof is low, the GKEK has to be replaced frequently.

4. No effective method for updating a GKEK is presented, and the GKEK is just encrypted and distributed respectively by the base station to the terminals as in the method for distributing a group/multicast key encryption key.

5. In the foregoing item 4, it may take a long period of time for updating dependent upon the number of terminals, which may cause a phenomenon of interrupted group/multicast communication when the key is updated.

Although the solution proposed in the IEEE802.16e and the solution proposed in China in the fields of wireless metropolitan area network and broadband wireless multimedia may improve the efficient issue of the group/multicast key management to some extent and improve efficiency of distributing and updating a group/multicast session key, these solutions have not address the drawbacks of the IEEE802.11i, the WAPI and the IEEE802.16 thoroughly. That is, at least the Group/multicast Key Encryption Key (GKEK) to be distributed is also encrypted by the base station respectively with the unicast session keys shared with the terminals and transmitted to the corresponding terminals. Moreover, the issue of updating the Group/multicast Key Encryption Key (GKEK) has not been handled but is addressed by simply repeating the initial distribution process.

SUMMARY OF THE INVENTION

The invention provides a group/multicast key distribution method and update method based upon a unicast session key and a base station to address the issue in the prior art of inefficient distribution of a group/multicast key based upon a unicast session key.

A technical solution of the invention is a group/multicast key distribution method based upon a unicast session key, which includes:

constructing, by a base station, a group/multicast key distribution packet; and

broadcasting, by the base station, the group/multicast key distribution packet to all of terminals which have passed authentication for security.

Preferably, before the base station constructs the group/multicast key distribution packet, the method further includes: defining, by the base station, system parameters including two p-order cyclic groups of (G₁, +) and (G₂, •) with p being a prime number and Diffie-Hellman calculation issue being a difficult issue in G₁, P representing a generator of G₁, e representing bilinear transformation on G₁ and G₂, i.e., e:G₁×G₁→G₂, and h(•) representing a unidirectional hash function.

Preferably, before the base station constructs the group/multicast key distribution packet, the method further includes:

authenticating, by the base station, each of the terminals and negotiating with the terminal about a unicast key to derive a unicast session key shared between the base station and the terminal.

Preferably, authenticating each of the terminals and negotiating with the terminal about a unicast key is performed:

in WAPI or a standard of 802.11i or through setting a shared key manually.

Preferably, the group/multicast key distribution packet includes:

identity information of the Base Station, BS, a Serial Number, SN, identifying current group/multicast key distribution, group/multicast key data Data and an integrity check key MIC calculated by the base station.

Preferably, in the group/multicast key distribution packet, the Data is calculated by:

selecting, by the base station, randomly a number n−1 (n is larger than or equal to 2) of different elements v₀, v₁, . . . , v_(n-2) from Z_(q)*, wherein v₀, v₁, . . . , v_(n-2)εZ_(q)* and selecting elements Q₁ and Q₂, wherein Q₁, Q₂εG₁ and also constructing randomly an (n−1)-order secret polynomial f(x)εZ_(p)[x] and performing the following calculation: Q_(K)=f(0)PεG₁ and V_(i)=f(v_(i))P(i=0, 1, . . . n−2);

for each of a number m of terminals MT_(i) which has passed authentication for an access, wherein i=1, 2, . . . , m, recording, by the base station, identity information ID_(i) of the terminal MT_(i), calculating secrete information Y_(i)=h(USK_(i)) by using a unicast session key USK_(i), calculating W_(i)=f(Y_(i))(Q₁+Q₂), clearing up Y_(i), and defining Data1=(Q_(K), Q₁, Q₂, v₀, . . . , v_(n-2), V₀, . . . , V_(n-2), (ID₁, W₁), . . . , (ID_(m), W_(m)));

selecting, by the base station, a group/multicast session key GSK, wherein GSKεG₂, and further selecting randomly an integer r, wherein rεZ_(p)*, and calculating Data2=(P*, Q₁*, U, V₀*, . . . , V_(n-2)*)=(rP, rQ₁, e(Q_(K), Q₂)^(r)GSK, rV₀, . . . , rV_(n-2)); and

defining Data=(Data 1, Data 2).

Preferably, the method further includes:

obtaining, by each of the terminals, a group/multicast session key by calculating from the received group/multicast key distribution packet.

Preferably, obtaining by the terminal the group/multicast session key by calculating from the received group/multicast key distribution packet includes:

calculating, by the terminal, secret data Y_(x)=h(USK_(x)) by using its own unicast session key USK_(x) resulted from prior negotiation;

constructing, by the terminal, a set by using information of the group/multicast key distribution packet and the calculated Yx:

Γ={e₀, e₁, . . . e_(n-1)}={v₀, . . . , v_(n-2), Y_(x)};

calculating, by the terminal, secret information

$\sigma_{e_{i},\Gamma} = {\prod\limits_{{e_{j} \in \Gamma},{j \neq i}}^{\;}\; \frac{e_{j}}{e_{j} - e_{i}}}$

for each e_(i), wherein e_(i)εΓ, according to the constructed set Yx;

calculating, by the terminal, the Group/multicast Session Key, GSK, according to the secret information as follows:

${{GSK} = \frac{{e\left( {Q_{1}^{*},Q_{K}} \right)}U}{{e\left( {{Q_{1} + Q_{2}},{\sum\limits_{i = 0}^{n - 2}\; {\sigma_{e_{i},\Gamma}V_{i}^{*}}}} \right)}{e\left( {{\sigma_{e_{n - 1},\Gamma}W_{x}},P^{*}} \right)}}};$

and

deriving, by the terminal, a group/multicast session integrity check key, GSKI, and a Group/multicast Session Encryption Key, GSKE, from the Group/multicast Session Key, GSK, recalculating an MIC from the GSKI, and upon determining that the group/multicast key distribution packet is valid, determining from a field of SN whether it is a repeated message transmitted from the base station, and if not, obtaining, by the terminal, the group/multicast session key properly.

Preferably, after obtaining the group/multicast session key, the method further includes:

performing, by the base station, directional unicast communication with the terminal or broadcast communication to all of the terminals.

The invention further provides a group/multicast key update method based upon a unicast session key, which includes:

constructing, by a base station, a group/multicast key update packet; and

broadcasting, by the base station, the group/multicast key update packet to all of terminals.

Preferably, the group/multicast key update packet includes identity information of the Base Station, BS, a Serial Number, SN, identifying current group/multicast key distribution, group/multicast key data Data calculated by the base station and an integrity check key MIC.

Preferably, in the group/multicast key update packet, the Data is calculated by:

selecting, by the base station, a new group/multicast session key GSK, wherein GSKεG₂, and further selecting randomly an integer r, wherein rεZ_(p)*, and calculating Data2=(P*, Q₁*, U, V₀*, . . . , V_(n-2)*)=(rP, rQ₁, e(Q_(K), Q₂)^(r)GSK, rV₀, . . . , rV_(n-2)); and

defining Data=(Data 1, Data 2).

Preferably, the method further includes:

obtaining, by each of the terminals, a group/multicast session key by calculating from the received group/multicast key update packet.

Preferably, obtaining by the terminal the group/multicast session key by calculating from the received group/multicast key update packet includes:

calculating, by the terminal, secret data Y_(x)=h(USK_(x)) by using its own unicast session key USK_(x) resulted from prior negotiation;

constructing, by the terminal, a set by using information of the group/multicast key update packet and the calculated Yx:

Γ={e₀, e₁, . . . e_(n-1)}={v₀, . . . , v_(n-2), Y_(x)};

calculating, by the terminal, secret information

$\sigma_{e_{i},\Gamma} = {\prod\limits_{{e_{j} \in \Gamma},{j \neq i}}^{\;}\; \frac{e_{j}}{e_{j} - e_{i}}}$

for each e_(i), wherein e_(i)εΓ, according to the constructed set Yx;

calculating, by the terminal, the message Group/multicast Session Key, GSK, according to the secrete information as follows:

${{GSK} = \frac{{e\left( {Q_{1}^{*},Q_{K}} \right)}U}{{e\left( {{Q_{1} + Q_{2}},{\sum\limits_{i = 0}^{n - 2}\; {\sigma_{e_{i},\Gamma}V_{i}^{*}}}} \right)}{e\left( {{\sigma_{e_{n - 1},\Gamma}W_{x}},P^{*}} \right)}}};$

and

deriving, by the terminal, a group/multicast session integrity check key, GSKI, and a Group/multicast Session Encryption Key, GSKE, from the Group/multicast Session Key, GSK, recalculating an MIC from the GSKI, and upon determining that the group/multicast key update packet is valid, determining from a field of SN whether it is a repeated message transmitted from the base station, and if not, obtaining, by the terminal, the group/multicast session key properly.

Preferably, after obtaining the group/multicast session key, the method further includes:

performing, by the base station, directional unicast communication with the terminal or broadcast communication to all of the terminals.

Correspondingly, an embodiment of the invention further provides a base station including:

a construction unit configured to construct a group/multicast key distribution packet or a group/multicast key update packet; and

a transmission unit configured to broadcast the group/multicast key distribution packet or the group/multicast key update packet constructed by the construction unit to all of terminals which have passed authentication for security.

Preferably, the base station further includes:

a definition unit configured to define system parameters before the construction unit constructs the group/multicast key distribution packet or the group/multicast key update packet, wherein the system parameters includes: two p-order cyclic groups of (G₁, +) and (G₂, •) with p being a prime number and Diffie-Hellman calculation issue being a difficult issue in G₁; P representing a generator of G₁; e representing bilinear transformation on G₁ and G₂, i.e., e:G₁×G₁→G₂; and h(•) representing a unidirectional hash function.

Preferably, the base station further includes:

an authentication and negotiation unit configured to authenticate each of the terminals and negotiate with the terminal about a unicast key to derive a unicast session key shared between the base station and the terminal before the construction unit constructs the group/multicast key distribution packet or the group/multicast key update packet.

As may be apparent from the foregoing technical solutions, the invention has the following advantages.

1. It is sufficient to broadcast once to distribute or update a group/multicast session key.

2. Distribution of the group/multicast session key based upon a unicast session key may be integrated seamlessly with a unicast session key negotiation protocol.

3. A broadcast channel is fully used and the communication efficiency of a system is improved.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a schematic diagram of a group/multicast key distribution method based upon a unicast session key according to an embodiment of the invention; and

FIG. 2 illustrates a schematic diagram of a group/multicast key update method based upon a unicast session key according to an embodiment of the invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Terms as referred to in the embodiments of the invention are defined briefly as follows in order to facilitate understanding thereof by those skilled in the art:

BS: base station;

MT_(x): terminal x;

USK_(x): unicast session key of the terminal x;

USKI_(x) and USKE_(x): unicast session integrity check key and unicast session encryption key derived from the USK_(x);

Nonce: one-time random number;

GSK: group/multicast session key; and

GSKI and GSKE: group/multicast session integrity check key and group/multicast session encryption key derived from the GSK.

Referring to FIG. 1 illustrating a flow chart of a group/multicast key distribution method based upon a unicast session key according to an embodiment of the invention, the method includes the following processes.

1) System parameters are defined, and the system parameters includes: two p-order cyclic groups of (G₁, +) and (G₂, •), where p is a prime number, Diffie-Hellman calculation issue is a difficult issue in G₁; P representing a generator of G₁; e representing bilinear transformation on G₁ and G₂, i.e., e:G₁×G₁→G₂; and h(•) representing a unidirectional hash function.

The above process 1) is generally performed once and will not be performed after the system parameters are well defined, that is, the process 1) is an optional process.

2) A base station authenticates each of terminals for security and negotiates with the terminal about a Unicast Session Key (USK), and a terminal i shares a Unicast Session Key USK_(i), from which a unicast session integrity check key and a unicast session encryption key may be derived, with the base station. Any method including those of the WAPI and the 802.11i may be adopted or a method for manually setting a pre-shared key may be used, to perform authentication and unicast key negotiation.

It shall be noted that the above process 2) is required if the base station in the system has neither authenticated each of terminal lines for security nor negotiated with each of the terminal lines about the Unicast Session Key (USK) or may be omitted if the base station in the system has authenticated each of the terminal lines for security and negotiated with each of the terminal lines about the Unicast Session Key (USK).

3) The base station constructs a group/multicast key distribution packet including the following contents: identity information of the Base Station (BS), a Serial Number (SN) identifying current group/multicast key distribution, group/multicast key data (Data) calculated by the base station and an integrity check key MIC, corresponding fields of which are as follows:

Where:

the field of BS: identity information of the base station;

the field of SN: serial number identifying uniquely a current group/multicast key distribution process;

the field of Data: group/multicast key data calculated by the base station; and

the field of MIC: an MIC value calculated on all of the fields preceding this field, here the integrity check key is a group/multicast session integrity check key GSKI derived from a Group/multicast Session Key (GSK) selected by the base station.

The field of Data is calculated as follows.

3.1) The base station selects randomly a number n−1 (n is larger than or equal to 2) of different elements v₀, v₁, . . . , v_(n-2) from Z_(q)*, where v₀, v₁, . . . , v_(n-2)εZ_(q)* and selects elements Q₁ and Q₂, where Q₁, Q₂εG₁ and also constructs randomly an (n−1)-order secret polynomial f(x)εZ_(p)[x], and subsequently performs the following calculations: Q_(K)=f(0)PεG₁ and V_(i)=f(v_(i))P(i=0, 1, . . . n−2).

3.2) For a terminal MT_(i) which has passed authentication for an access (assuming the number of terminals is m), the base station records device identity information ID_(i) and calculates secrete information Y_(i)=h(USK_(i)) (i=1, 2, . . . , m) by using a unicast session key USK_(i), then calculates W_(i)=f(Y_(i))(Q₁+Q₂), and subsequently clears up Y_(i) and defines Data1=(Q_(K), Q₁, Q₂, v₀, . . . , v_(n-2), V₀, . . . , V_(n-2), (ID₁, W₁), . . . , (ID_(m), W_(m))).

3.3) It is Assumed that the base station selects the group/multicast session key GSK, where GSKεG₂, and the base station further selects randomly an integer r, where rεZ_(p)*, and calculates Data2=(P*, Q₁*, U, V₀*, . . . , V_(n-2)*)=(rP, rQ₁, e(Q_(K), Q₂)^(r)GSK, rV₀, . . . , rV_(n-2)).

3.4) Finally Data=(Data 1, Data 2) is defined.

4) The base station broadcasts the group/multicast key distribution packet to all of the terminals.

5) The terminals obtain the group/multicast session key by calculating.

Any terminal MT_(x) decrypts the received group/multicast key distribution packet to obtain the GSK as follows.

5.1) The terminal calculates secret data Y_(x)=h(USK_(x)) by using its own unicast session key USK_(x).

5.2) The terminal constructs a set by using the information of the group/multicast key distribution packet and the calculated Yx:

Γ={e₀, e₁, . . . e_(n-1)}={v₀, . . . , v_(n-2), Y_(x)}

5.3) The terminal calculates secret information

$\sigma_{e_{i},\Gamma} = {\prod\limits_{{e_{j} \in \Gamma},{j \neq i}}^{\;}\; \frac{e_{j}}{e_{j} - e_{i}}}$

for each e_(i), where e_(i)εΓ.

5.4) The Group/multicast Session Key (GSK) is calculated as follows:

${GSK} = \frac{{e\left( {Q_{1}^{*},Q_{K}} \right)}U}{{e\left( {{Q_{1} + Q_{2}},{\sum\limits_{i = 0}^{n - 2}\; {\sigma_{e_{i},\Gamma}V_{i}^{*}}}} \right)}{e\left( {{\sigma_{e_{n - 1},\Gamma}W_{x}},P^{*}} \right)}}$

5.5) The group/multicast session integrity check key GSKI and a group/multicast session encryption key GSKE are derived from the Group/multicast Session Key (GSK), the MIC is recalculated from the GSKI, it is determined whether the packet is valid, and if the packet is invalid, the packet is discarded directly, otherwise, it is determined from the field of SN whether it is a repeated message transmitted from the base station, and if so, the repeated message is discarded directly, otherwise, the terminal obtains the group/multicast session key properly.

6) Unicast or group/multicast communication: the base station may perform bidirectional unicast communication with the terminal or broadcast communication to all of the terminals after the foregoing processes are performed. Security of unicast communication is guaranteed by the unicast session integrity check key and the unicast session encryption key derived from the USK_(x), and security of group/multicast communication is guaranteed by the group/multicast session integrity check key and the group/multicast session encryption key derived from the GSK.

It shall be noted that the above solution also supports updating of a group/multicast session key in the same method as for distribution of a group/multicast session key. In order to improve the efficiency of calculation, however, when the field of Data is calculated, calculations in only the processes 3 and 4 are performed in a key update process while omitting the processes 1 and 2. Moreover, when a new terminal has passed authentication with the base station and no group/multicast session key is updated, the base station performs the process 2 of calculating the field of Data only for the newly accessed terminal when the group/multicast session key is distributed to the newly accessed terminal, thereby improving the efficiency of calculation.

Referring to FIG. 2 illustrating a flow chart of a group/multicast key update method based upon a unicast session key according to an embodiment of the invention, the method includes the following processes.

1) A base station constructs a group/multicast key update packet.

The packet includes the following contents.

Where:

the field of BS: identity information of the base station;

the field of SN: serial number identifying uniquely a current group/multicast key update process;

the field of Data: group/multicast key data calculated by the base station; and

the field of MIC: an MIC value calculated on all of the fields preceding this field, here the integrity check key is a group/multicast session integrity check key GSKI derived from a Group/multicast Session Key (GSK) selected by the base station.

The field of Data is calculated as follows.

1.1) It is assumed that the base station selects a new group/multicast session key GSK, where GSKεG₂, and the base station further selects randomly an integer r, where rεZ_(p)*, and calculates Data 2=(P*, Q₁*, U, V₀*, . . . , V_(n-2)*)=(rP, rQ₁, e(Q_(K), Q₂)^(r)GSK, rV₀, . . . , rV_(n-2));

1.2) Finally Data=(Data 1, Data 2) is defined.

2) The base station broadcasts the group/multicast key update packet to all of the terminals.

3) The terminals obtain the group/multicast session key by calculating.

Any terminal MT_(x) decrypts the received group/multicast key update packet to obtain the GSK as follows.

3.1) The terminal calculates secret data Y_(x)=h(USK_(x)) by using its own unicast session key USK_(x).

3.2) The terminal constructs a set by using the information of the group/multicast key update packet and the calculated Yx:

Γ={e₀, e₁, . . . e_(n-1)}={v₀, . . . , v_(n-2), Y_(x)};

3.3) The terminal calculates secret information

$\sigma_{e_{i},\Gamma} = {\prod\limits_{{e_{j} \in \Gamma},{j \neq i}}^{\;}\; \frac{e_{j}}{e_{j} - e_{i}}}$

for each e_(i), where e_(i)εΓ.

3.4) The Group/multicast Session Key (GSK) is calculated as follows:

${{GSK} = \frac{{e\left( {Q_{1}^{*},Q_{K}} \right)}U}{{e\left( {{Q_{1} + Q_{2}},{\sum\limits_{i = 0}^{n - 2}\; {\sigma_{e_{i},\Gamma}V_{i}^{*}}}} \right)}{e\left( {{\sigma_{e_{n - 1},\Gamma}W_{x}},P^{*}} \right)}}};$

3.5) The group/multicast session integrity check key GSKI and a group/multicast session encryption key GSKE are derived from the Group/multicast Session Key (GSK), the MIC is recalculated from the GSKI, it is determined whether the packet is valid, and if the packet is invalid, the packet is discarded directly, otherwise, it is determined from the field of SN whether it is a repeated message transmitted from the base station, and if so, the repeated message is discarded directly, otherwise, the terminal obtains the group/multicast session key properly.

4) Unicast or group/multicast communication: the base station may perform bidirectional unicast communication with the terminal or broadcast communication to all of the terminals after the foregoing processes are performed. Security of unicast communication is guaranteed by the unicast session integrity check key and the unicast session encryption key derived from the USK_(x), and security of group/multicast communication is guaranteed by the group/multicast session integrity check key and the group/multicast session encryption key derived from the GSK.

A method for distributing a group/multicast key to a newly accessed terminal based upon a unicast session key according to an embodiment of the invention includes the following processes.

1) A base station authenticates the terminal MT_(i) for security and negotiates with the terminal about a Unicast Session Key USK_(i) from which a unicast session integrity check key and a unicast session encryption key may be derived. Any method including those of the WAPI and the 802.11i may be adopted or a method for manually setting a pre-shared key may be used to perform authentication and unicast key negotiation.

It shall be noted that the above process 1) is required if the base station has neither authenticated the terminal MT_(i) for security nor negotiated with the terminal about the Unicast Session Key (USK) or may be omitted if the base station in the system has authenticated each of the terminal lines for security and negotiated with each of the terminal lines about the Unicast Session Key (USK).

2) The base station constructs a group/multicast key distribution packet.

The packet includes the following contents.

Where:

the field of BS: identity information of the base station;

the field of SN: serial number identifying uniquely a current group/multicast key distribution process and being the same as the field of SN selected by the base station for current group/multicast key distribution;

the field of Data: group/multicast key data calculated by the base station; and

the field of MIC: an MIC value calculated on all of the fields preceding this field, here the integrity check key is a group/multicast session integrity check key GSKI derived from a Group/multicast Session Key (GSK) selected by the base station.

The field of Data is calculated as follows.

2.1) For the terminal MT_(i), the base station records device identity information ID_(i) and calculates secrete information Y_(i)=h(USK_(i))(i=1, 2, . . . , m) by using the unicast session key USK_(i), then calculates W_(i)=f(Y_(i))(Q₁+Q₂), and subsequently clears up Y_(i) and defines Data1=(Q_(K), Q₁, Q₂, v₀, . . . , v_(n-2), V₀, . . . , V_(n-2), (ID_(i), W_(i)));

2.2) Data=(Data 1, Data 2) is calculated by using the data Data2 currently calculated by the base station.

3) The base station broadcasts the group/multicast key distribution packet to the terminal MT_(i);

4) The terminal MT_(i) obtains the group/multicast session key by calculating.

4.1) The terminal calculates secret data Y_(i)=h(USK_(i)) by using its own unicast session key USK_(i).

4.2) The terminal constructs a set by using the information of the group/multicast key distribution packet and the calculated Yi:

Γ={e₀, e₁, . . . e_(n-1)}={v₀, . . . , v_(n-2), Y_(i)}

4.3) The terminal calculates secret information

$\sigma_{e_{i},\Gamma} = {\prod\limits_{{e_{j} \in \Gamma},{j \neq i}}^{\;}\; \frac{e_{j}}{e_{j} - e_{i}}}$

for each e_(i), where e_(i)εΓ.

4.4) The Group/multicast Session Key (GSK) is calculated as follows:

${GSK} = \frac{{e\left( {Q_{1}^{*},Q_{K}} \right)}U}{{e\left( {{Q_{1} + Q_{2}},{\sum\limits_{i = 0}^{n - 2}\; {\sigma_{e_{i},\Gamma}V_{i}^{*}}}} \right)}{e\left( {{\sigma_{e_{n - 1},\Gamma}W_{x}},P^{*}} \right)}}$

4.5) The group/multicast session integrity check key GSKI and a group/multicast session encryption key GSKE are derived from the Group/multicast Session Key (GSK), the MIC is recalculated from the GSKI, it is determined whether the packet is valid, and if the packet is invalid, the packet is discarded directly, otherwise, it is determined from the field of SN whether it is a repeated message transmitted from the base station, and if so, the repeated message is discarded directly, otherwise, the terminal obtains the group/multicast session key properly.

5) Unicast or group/multicast communication: the base station may perform bidirectional unicast communication with the terminal or broadcast communication to all of the terminals after the foregoing processes are performed. Security of unicast communication is guaranteed by the unicast session integrity check key and the unicast session encryption key derived from the USK_(i), and security of group/multicast communication is guaranteed by the group/multicast session integrity check key and the group/multicast session encryption key derived from the GSK.

Based upon the foregoing methods, an embodiment of the invention provides a base station including a construction unit and a transmission unit, where the construction unit is configured to construct a group/multicast key distribution packet or a group/multicast key update packet, and the transmission unit is configured to broadcast the group/multicast key distribution packet or the group/multicast key update packet constructed by the construction unit to all of terminals which have passed authentication for security.

Preferably, the base station further includes a definition unit configured to define system parameters before the construction unit constructs the group/multicast key distribution packet or the group/multicast key update packet, where the system parameters includes: two p-order cyclic groups of (G₁, +) and (G₂, •) with p being a prime number and Diffie-Hellman calculation issue being a difficult issue in G₁; P representing a generator of G₁; e representing bilinear transformation on G₁ and G₂, i.e., e:G₁×G₁→G₂; and h(•) representing a unidirectional hash function.

Preferably, the base station further includes an authentication and negotiation unit.

The authentication and negotiation unit is configured to authenticate each of the terminals and negotiate with the terminal about a unicast key to derive a unicast session key shared between the base station and the terminal before the construction unit constructs the group/multicast key distribution packet or the group/multicast key update packet.

For details of implementing functions and roles of the units in the base station, reference may be made to the corresponding implementations in the foregoing methods, and a detailed description thereof is omitted here.

As may be apparent from the foregoing embodiments, a group/multicast key distribution packet is constructed and broadcasted to all of terminals which have passed authentication for security so that the terminals obtain a group/multicast session key by calculating on the group/multicast key distribution packet upon reception of the group/multicast key distribution packet. Apparently in the invention, it is sufficient to broadcast once to distribute or update a group/multicast session key between a base station and terminals; distribution of the group/multicast session key based upon a unicast session key may be integrated seamlessly with a unicast session key negotiation protocol; and the invention makes full use of a broadcast channel and improves the communication efficiency of a system.

Those skilled in the art may clearly appreciated from the foregoing description of the embodiments that the invention may be embodied in the form of software plus a requisite general hardware platform or in hardware, but the former is a preferred embodiment in many cases. Based upon such understanding, the technical solution of the invention essentially or a part thereof contributing to the prior art may be embodied in the form of a software product which may be stored in a storage medium, e.g., an ROM/RAM, a magnetic disk, an optical disk. and which may include several instructions to cause a computer device (e.g., a personal computer, a server, or a network device) to perform the methods described in the embodiments of the invention or some parts thereof.

The foregoing description is merely illustrative of the preferred embodiments of the invention, and it shall be pointed out that those ordinarily skilled in the art may further make several modifications and variations without departing from the principle of the invention and that these modifications and variations shall also be considered as coming into the scope of the invention. 

1. A group/multicast key distribution method based upon a unicast session key, comprising: constructing, by a base station, a group/multicast key distribution packet; and broadcasting, by the base station, the group/multicast key distribution packet to all of terminals which have passed authentication for security.
 2. The group/multicast key distribution method based upon a unicast session key of claim 1, further comprising: before the base station constructs the group/multicast key distribution packet, defining, by the base station, system parameters including two p-order cyclic groups of (G₁, +) and (G₂, •) with p being a prime number and Diffie-Hellman calculation issue being a difficult issue in G₁, P representing a generator of G₁, e representing bilinear transformation on G₁ and G₂, i.e., e:G₁×G₁→G₂, and h(•) representing a unidirectional hash function.
 3. The group/multicast key distribution method based upon a unicast session key of claim 1, further comprising: before the base station constructs the group/multicast key distribution packet, authenticating, by the base station, each of the terminals and negotiating with the terminal about a unicast key to derive a unicast session key shared between the base station and the terminal.
 4. The group/multicast key distribution method based upon a unicast session key of claim 3, wherein authenticating each of the terminals and negotiating with the terminal about a unicast key is performed: in WAPI or a standard of 802.11i or through setting a shared key manually.
 5. The group/multicast key distribution method based upon a unicast session key of claim 3, wherein the group/multicast key distribution packet comprises: identity information of the Base Station, BS, a Serial Number, SN, identifying current group/multicast key distribution, group/multicast key data Data calculated by the base station and an integrity check key MIC.
 6. The group/multicast key distribution method based upon a unicast session key of claim 5, wherein in the group/multicast key distribution packet, the Data is calculated by: selecting, by the base station, randomly a number n−1 (n is larger than or equal to 2) of different elements v₀, v₁, . . . , v_(n-2) from Z_(q)*, wherein v₀, v₁, . . . , v_(n-2)εZ_(q)* and selecting elements Q₁ and Q₂, wherein Q₁, Q₂εG₁ and also constructing randomly an (n−1)-order secret polynomial f(x)εZ_(p)[x] and performing the following calculation: Q_(K)=f(0)PεG₁ and V_(i)=f(v_(i))P(i=0, 1, . . . n−2); for each of a number m of terminals MT_(i) which has passed authentication for an access, wherein i=1, 2, . . . , m, recording, by the base station, identity information ID_(i) of the terminal MT_(i), calculating secrete information Y_(i)=h(USK_(i)) by using a unicast session key USK_(i), calculating W_(i)=f(Y_(i))(Q₁+Q₂), clearing up Y_(i), and defining Data1=(Q_(k), Q₁, Q₂, v₀, . . . , v_(n-2), V₀, . . . , V_(n-2), (ID₁, W₁), . . . , (ID_(m), W_(m))); selecting, by the base station, a group/multicast session key GSK, wherein GSKεG₂, and further selecting randomly an integer r, wherein rεZ_(p)*, and calculating Data2=(P*, Q₁*, U, V₀*, . . . , V_(n-2)*)=(rP, rQ₁, e(Q_(K), Q₂)^(r)GSK, rV₀, . . . , rV_(n-2)); and defining Data=(Data 1, Data 2).
 7. The group/multicast key distribution method based upon a unicast session key of claim 1, further comprising: obtaining, by each of the terminals, a group/multicast session key by calculating from the received group/multicast key distribution packet.
 8. The group/multicast key distribution method based upon a unicast session key of claim 7, wherein obtaining by the terminal the group/multicast session key by calculating from the received group/multicast key distribution packet comprises: calculating, by the terminal, secret data Y_(x)=h(USK_(x)) by using its own unicast session key USK_(x) resulted from prior negotiation; constructing, by the terminal, a following set by using information of the group/multicast key distribution packet and the calculated Yx: Γ={e₀, e₁, . . . e_(n-1)}={v₀, . . . , v_(n-2), Y_(x)}; calculating, by the terminal, secret information $\sigma_{e_{i},\Gamma} = {\prod\limits_{{e_{j} \in \Gamma},{j \neq i}}^{\;}\; \frac{e_{j}}{e_{j} - e_{i}}}$ for each e_(i), wherein e_(i)εΓ, according to the constructed set Yx; calculating, by the terminal, the Group/multicast Session Key, GSK, according to the secrete information as follows: ${{GSK} = \frac{{e\left( {Q_{1}^{*},Q_{K}} \right)}U}{{e\left( {{Q_{1} + Q_{2}},{\sum\limits_{i = 0}^{n - 2}\; {\sigma_{e_{i},\Gamma}V_{i}^{*}}}} \right)}{e\left( {{\sigma_{e_{n - 1},\Gamma}W_{x}},P^{*}} \right)}}};$ and deriving, by the terminal, a group/multicast session integrity check key, GSKI, and a Group/multicast Session Encryption Key, GSKE, from the Group/multicast Session Key, GSK, recalculating an MIC from the GSKI, and upon determining that the group/multicast key distribution packet is valid, determining from a field of SN whether it is a repeated message transmitted from the base station, and if not, obtaining, by the terminal, the group/multicast session key properly.
 9. The group/multicast key distribution method based upon a unicast session key of claim 8, further comprising: after obtaining the group/multicast session key, performing, by the base station, directional unicast communication with the terminal or broadcast communication to all of the terminals.
 10. A group/multicast key update method based upon a unicast session key, comprising: constructing, by a base station, a group/multicast key update packet; and broadcasting, by the base station, the group/multicast key update packet to all of terminals.
 11. The group/multicast key update method based upon a unicast session key of claim 10, wherein the group/multicast key update packet comprises identity information of the Base Station, BS, a Serial Number, SN, identifying current group/multicast key distribution, group/multicast key data Data calculated by the base station and an integrity check key MIC.
 12. The group/multicast key update method based upon a unicast session key of claim 11, wherein in the group/multicast key update packet, the Data is calculated by: selecting, by the base station, a new group/multicast session key GSK, wherein GSKεG₂, and further selecting randomly an integer r, wherein rεZ_(p)*, and calculating Data2=(P*, Q₁*, U, V₀*, . . . , V_(n-2)*)=(rP, rQ₁, e(Q_(K), Q₂)^(r)GSK, rV₀, . . . , rV_(n-2)); and defining Data=(Data 1, Data 2).
 13. The group/multicast key update method based upon a unicast session key of claim 10, further comprising: obtaining, by each of the terminals, a group/multicast session key by calculating from the received group/multicast key update packet.
 14. The group/multicast key update method based upon a unicast session key of claim 13, wherein obtaining by the terminal the group/multicast session key by calculating from the received group/multicast key update packet comprises: calculating, by the terminal, secret data Y_(x)=h(USK_(x)) by using its own unicast session key USK_(x) resulted from prior negotiation; constructing, by the terminal, a set by using information of the group/multicast key update packet and the calculated Yx: Γ±{e₀, e₁, . . . e_(n-1)}={v₀, . . . , v_(n-2), Y_(x)}; calculating, by the terminal, secret information $\sigma_{e_{i},\Gamma} = {\prod\limits_{{e_{j} \in \Gamma},{j \neq i}}^{\;}\; \frac{e_{j}}{e_{j} - e_{i}}}$ for each e_(i), wherein e_(i)εΓ, according to the constructed set Yx; calculating, by the terminal, the Group/multicast Session Key, GSK, according to the secrete information as follows: ${{GSK} = \frac{{e\left( {Q_{1}^{*},Q_{K}} \right)}U}{{e\left( {{Q_{1} + Q_{2}},{\sum\limits_{i = 0}^{n - 2}\; {\sigma_{e_{i},\Gamma}V_{i}^{*}}}} \right)}{e\left( {{\sigma_{e_{n - 1},\Gamma}W_{x}},P^{*}} \right)}}};$ and deriving, by the terminal, a group/multicast session integrity check key, GSKI, and a Group/multicast Session Encryption Key, GSKE, from the Group/multicast Session Key, GSK, recalculating an MIC from the GSKI, and upon determining that the group/multicast key update packet is valid, determining from a field of SN whether it is a repeated message transmitted from the base station, and if not, obtaining, by the terminal, the group/multicast session key properly.
 15. The group/multicast key update method based upon a unicast session key of claim 14, further comprising: after obtaining the group/multicast session key, performing, by the base station, directional unicast communication with the terminal or broadcast communication to all of the terminals.
 16. A base station, comprising: a construction unit configured to construct a group/multicast key distribution packet or a group/multicast key update packet; and a transmission unit configured to broadcast the group/multicast key distribution packet or the group/multicast key update packet constructed by the construction unit to all of terminals which have passed authentication for security.
 17. The base station of claim 16, further comprising: a definition unit configured to define system parameters before the construction unit constructs the group/multicast key distribution packet or the group/multicast key update packet, wherein the system parameters includes: two p-order cyclic groups of (G₁, +) and (G₂, •) with p being a prime number and Diffie-Hellman calculation issue being a difficult issue in G₁; P representing a generator of G₁; e representing bilinear transformation on G₁ and G₂, i.e., e:G₁×G₁→G₂; and h(•) representing a unidirectional hash function.
 18. The base station of claim 16, further comprising: an authentication and negotiation unit configured to authenticate each of the terminals and negotiate with the terminal about a unicast key to derive a unicast session key shared between the base station and the terminal before the construction unit constructs the group/multicast key distribution packet or the group/multicast key update packet. 